<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Pin: Pin Error Reporting Support</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Pin
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Pin Error Reporting Support<div class="ingroups"><a class="el" href="group__API__REF.html">Instrumentation API Reference</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gaa5229e893bc3646b53b8547328305441"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ERROR__FILE.html#gaa5229e893bc3646b53b8547328305441">PIN_ERR_SEVERITY_TYPE</a> { <br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaa5229e893bc3646b53b8547328305441a3a9ed010756ea9f06b34211f6c66fba5">PIN_ERR_FATAL</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaa5229e893bc3646b53b8547328305441a332ad1eb0ad2f1a4486ad0f4b4478f3c">PIN_ERR_NONFATAL</a>
<br />
 }</td></tr>
<tr class="separator:gaa5229e893bc3646b53b8547328305441"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeda9680c6d7a2340a2fd22ab6302b2b9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ERROR__FILE.html#gaeda9680c6d7a2340a2fd22ab6302b2b9">PIN_ERRTYPE</a> { <br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ae23249419158a25051069ad451c6b6c3">PIN_ERR_NONE</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9afc15c2e29db256ad8f4e0b64bb5e9c32">PIN_ERR_INTERNAL</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a592e8b0bba9097f7ac303101a570ad64">PIN_ERR_ASSERT</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a4a1c3ea337917024efd0ee448e70dde8">PIN_ERR_TOOL</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a92abab72b33b6190ff2461166762bfef">PIN_ERR_CMD_LINE</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ab13744c77fbe5c2edadbf55d83383c6c">PIN_ERR_PARSING</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9adc823fa50f0f1af2d5f56310744a3415">PIN_ERR_NO_APP</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a8a715088f5cc09212bacf749906c8691">PIN_ERR_INVALID_PLOAD</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9adeddad4145c2f41bfc268a079a958c8b">PIN_ERR_FILE_NOT_FOUND</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a610cb5bc944d945894a0cfb95a08ddbc">PIN_ERR_ELF_HEADER</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9af052e4217f8ee6fa7b12c9d9e3cb92a9">PIN_ERR_NO_PIE</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a16fdde4caf057cbf682393633ed02fce">PIN_ERR_NO_ENTRY_OFFSET</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a5a7606316343e42702dafe8160c7c1cf">PIN_ERR_INVALID_ADDRESS</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9afe8d264b96aed6f5f270603aa978977e">PIN_ERR_INVALID_ADDRESS_RANGE</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a67dbe3b3bcfe808f0da46822f217d232">PIN_ERR_CANNOT_LOAD_TOOL</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ae61b4363c81410f881294dfde1ef7ab5">PIN_ERR_PIN_INJECTION</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9aa35c09c1e77601bddbadefaf954af7fc">PIN_ERR_WAIT_FOR_INJECTOR</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9abaf114893bba734cb889887dafe05dbf">PIN_ERR_BAD_OS_FILE</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a6544853c7cbcbc37adbafee819cb508b">PIN_ERR_UNSUPPORTED_OS</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a2ecdad35ad2265a3c080656dad2683e2">PIN_ERR_BIN32</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9aba5c2b23d6d7b7ced8ba8bbf63cf36db">PIN_ERR_BIN64</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a52a139ca1256f4d394d3a99605ed268e">PIN_ERR_CANNOT_RUN</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a0b1450bdd2c0669f82dd077d6fdbc916">PIN_ERR_ATTACH_PID</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a06fb114c64ee8b6e0ea0925da63c290e">PIN_ERR_ATTACH_NYI</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a96fb2bd21e6266b43ac3993c42289c61">PIN_ERR_ATTACH_REJECTED</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ab75b40709d0351b9612b69c7663d1af4">PIN_ERR_ATTACH_PTRACE_SCOPE_1</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a9edc8f11e078b58222de1d244f688e91">PIN_ERR_DETACH_PID</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a5ce293f912d0a0eda6ae7b2a7f953b61">PIN_ERR_WAIT_PID</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a91aff46b1629b329f0b1f9e4aa689a57">PIN_ERR_STEP_PID</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a9fab7dc21e403a57c9997df99e821b7e">PIN_ERR_WAIT_EXECV</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9aa8698cd0773309ddac50d3921b9f18df">PIN_ERR_APP_RESUME</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a55674b832d172a6a8bc10b49cbe3d8be">PIN_ERR_NO_INSTRUMENT</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a45967f15d3f5919a4b2f497b313cc562">PIN_ERR_CHILD_PTRACEME</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ae748d8c383349278a02edb6d3a68dfc1">PIN_ERR_CHILD_RESUME</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ad0c8f9cee6534da5ac96662547cc43a5">PIN_ERR_RELINK_APP</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ac46a5e724123ff99f19c3e1a581fc41e">PIN_ERR_KNOB_BAD</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a21da2aed13d9167142bdf21c56b4e99a">PIN_ERR_NO_RELOCS</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a6acecc9e658a0e4d5c0d26dc556c2e88">PIN_ERR_VERSION_SKEW</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a4c5af8376d0eb40f64db4ab9f463b435">PIN_ERR_MS_DOS</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ac793921c2029fa5d2437878be3894228">PIN_ERR_LONG_PATH</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a0ae80730059694b1cc007a510800de97">PIN_ERR_CANNOT_EXECUTE_FILE</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a994641a9abb61417ad5a730ee618e68f">PIN_ERR_BLOCKSIG_TOOL</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ab78980c79b13566746eabd360151baf1">PIN_ERR_BLOCKSIG_APP</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a3779de30efc0bee87af0cc890d20b6cc">PIN_ERR_USER_SPECIFIED_ERROR</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a74b6a9f15ca21ea3c84af2351835070f">PIN_ERR_OUT_OF_MEMORY</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ad3e380a7571184491635179c23b7f18d">PIN_ERR_NON_NUMERIC_STRING</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ae6fc3ab3e413a42513102c7fb4576d2d">PIN_ERR_EMPTY_STRING</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9abc6df52a43b9ee09f291553f97a4c251">PIN_ERR_NUMERIC_FROM_STRING</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a4266359bfd512877e1e75c3700c938d7">PIN_ERR_ALREADY_ATTACHED</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a8ebce9e36630cad63bd6f2e2cd745e0e">PIN_ERR_ILLEGAL_EXCEPTION</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a138c502e9a3dc3f0ba50d6af0640f776">PIN_ERR_EXCEPTION_NEEDS_ADDR</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9aae0e29610a94cea1c002e0de8cfdb347">PIN_ERR_PREDEFINED_INSTRUMENTATION_FAILED</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a61004f9bbe8b2d4bd311d9191999265e">PIN_ERR_UNSUPPORTED_SYSCALL</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a6b25fe1319bc6896443240c694d3142a">PIN_ERR_ACCESS_DENIED</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a36f3267067ed9c2f8731c573acb1e760">PIN_ERR_INVALID_SUSPEND_REQUEST</a>, 
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9acc9d693926bba8acb4a03336284176b3">PIN_ERR_DEBUGGER</a>, 
<br />
&#160;&#160;<b>PIN_ERR_LAST</b>
<br />
 }</td></tr>
<tr class="separator:gaeda9680c6d7a2340a2fd22ab6302b2b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga736b7ac932c906914c9710bfa5ca98f2"><td class="memItemLeft" align="right" valign="top">VOID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ERROR__FILE.html#ga736b7ac932c906914c9710bfa5ca98f2">PIN_WriteErrorMessage</a> (const char *msg, INT32 type, <a class="el" href="group__ERROR__FILE.html#gaa5229e893bc3646b53b8547328305441">PIN_ERR_SEVERITY_TYPE</a> severity, INT32 num,...)</td></tr>
<tr class="separator:ga736b7ac932c906914c9710bfa5ca98f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Pin errors are normally printed to the screen. Some tools prefer to take the Pin errors and create their own error message. This is important if your tool has a particular look and feel. Pin provides the -error_file option, which generates a machine-parsable error code, and supresses error being emitted to the screen.</p>
<p>The PIN_ERRTYPEs are the errors that Pin can report. The PIN_ERRTYPEs are defined in $PIN_HOME/source/include/pin-errtype.h. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gaa5229e893bc3646b53b8547328305441"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa5229e893bc3646b53b8547328305441">&#9670;&nbsp;</a></span>PIN_ERR_SEVERITY_TYPE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ERROR__FILE.html#gaa5229e893bc3646b53b8547328305441">PIN_ERR_SEVERITY_TYPE</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This file defines the Pin error types. They are used in conjunction with the Pin -error_file option.</p>
<p>Severity used by <a class="el" href="group__ERROR__FILE.html#ga736b7ac932c906914c9710bfa5ca98f2">PIN_WriteErrorMessage()</a> </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaa5229e893bc3646b53b8547328305441a3a9ed010756ea9f06b34211f6c66fba5"></a>PIN_ERR_FATAL&#160;</td><td class="fielddoc"><p>fatal error, Pin exits after printing message. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa5229e893bc3646b53b8547328305441a332ad1eb0ad2f1a4486ad0f4b4478f3c"></a>PIN_ERR_NONFATAL&#160;</td><td class="fielddoc"><p>non-fatal error </p>
</td></tr>
</table>

</div>
</div>
<a id="gaeda9680c6d7a2340a2fd22ab6302b2b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeda9680c6d7a2340a2fd22ab6302b2b9">&#9670;&nbsp;</a></span>PIN_ERRTYPE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ERROR__FILE.html#gaeda9680c6d7a2340a2fd22ab6302b2b9">PIN_ERRTYPE</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Client level errors reported by Pin. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ae23249419158a25051069ad451c6b6c3"></a>PIN_ERR_NONE&#160;</td><td class="fielddoc"><p>0 args. no error. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9afc15c2e29db256ad8f4e0b64bb5e9c32"></a>PIN_ERR_INTERNAL&#160;</td><td class="fielddoc"><p>0 args. internal pin error has occurred. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a592e8b0bba9097f7ac303101a570ad64"></a>PIN_ERR_ASSERT&#160;</td><td class="fielddoc"><p>0 args. internal pin assertion has occurred. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a4a1c3ea337917024efd0ee448e70dde8"></a>PIN_ERR_TOOL&#160;</td><td class="fielddoc"><p>0 args. tool error has been detected. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a92abab72b33b6190ff2461166762bfef"></a>PIN_ERR_CMD_LINE&#160;</td><td class="fielddoc"><p>0 args. tool arguments are incorrect. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ab13744c77fbe5c2edadbf55d83383c6c"></a>PIN_ERR_PARSING&#160;</td><td class="fielddoc"><p>0 args. command line arguments are incorrect. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9adc823fa50f0f1af2d5f56310744a3415"></a>PIN_ERR_NO_APP&#160;</td><td class="fielddoc"><p>0 args. missing application name. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a8a715088f5cc09212bacf749906c8691"></a>PIN_ERR_INVALID_PLOAD&#160;</td><td class="fielddoc"><p>0 args. invalid pload argument. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9adeddad4145c2f41bfc268a079a958c8b"></a>PIN_ERR_FILE_NOT_FOUND&#160;</td><td class="fielddoc"><p>1 arg: file name. error in application file name or path. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a610cb5bc944d945894a0cfb95a08ddbc"></a>PIN_ERR_ELF_HEADER&#160;</td><td class="fielddoc"><p>1 arg: file name. unable to read elf header of "filename". <br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9af052e4217f8ee6fa7b12c9d9e3cb92a9"></a>PIN_ERR_NO_PIE&#160;</td><td class="fielddoc"><p>1 arg: file name. pie binaries not supported on this system. <br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a16fdde4caf057cbf682393633ed02fce"></a>PIN_ERR_NO_ENTRY_OFFSET&#160;</td><td class="fielddoc"><p>1 arg: file name. no entry in aux vector. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a5a7606316343e42702dafe8160c7c1cf"></a>PIN_ERR_INVALID_ADDRESS&#160;</td><td class="fielddoc"><p>1 arg: address. "address" is invalid. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9afe8d264b96aed6f5f270603aa978977e"></a>PIN_ERR_INVALID_ADDRESS_RANGE&#160;</td><td class="fielddoc"><p>2 args: low address, high address. address range is invalid. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a67dbe3b3bcfe808f0da46822f217d232"></a>PIN_ERR_CANNOT_LOAD_TOOL&#160;</td><td class="fielddoc"><p>1 arg: tool name. pin cannot load "tool". </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ae61b4363c81410f881294dfde1ef7ab5"></a>PIN_ERR_PIN_INJECTION&#160;</td><td class="fielddoc"><p>0 arg: can't inject pin in running process. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9aa35c09c1e77601bddbadefaf954af7fc"></a>PIN_ERR_WAIT_FOR_INJECTOR&#160;</td><td class="fielddoc"><p>2 args: pid, errno. injector "pid" failed to exit. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9abaf114893bba734cb889887dafe05dbf"></a>PIN_ERR_BAD_OS_FILE&#160;</td><td class="fielddoc"><p>0 args. cannot determine os release. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a6544853c7cbcbc37adbafee819cb508b"></a>PIN_ERR_UNSUPPORTED_OS&#160;</td><td class="fielddoc"><p>0 args. unsupported os. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a2ecdad35ad2265a3c080656dad2683e2"></a>PIN_ERR_BIN32&#160;</td><td class="fielddoc"><p>0 args. 32-bit binary detected. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9aba5c2b23d6d7b7ced8ba8bbf63cf36db"></a>PIN_ERR_BIN64&#160;</td><td class="fielddoc"><p>0 args. 64-bit binary detected. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a52a139ca1256f4d394d3a99605ed268e"></a>PIN_ERR_CANNOT_RUN&#160;</td><td class="fielddoc"><p>1 arg: errno. error in running pin. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a0b1450bdd2c0669f82dd077d6fdbc916"></a>PIN_ERR_ATTACH_PID&#160;</td><td class="fielddoc"><p>2 arg: pid, errno. attach to "pid" failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a06fb114c64ee8b6e0ea0925da63c290e"></a>PIN_ERR_ATTACH_NYI&#160;</td><td class="fielddoc"><p>0 arg: attach to running process is NYI for Pin/Windows in JIT mode. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a96fb2bd21e6266b43ac3993c42289c61"></a>PIN_ERR_ATTACH_REJECTED&#160;</td><td class="fielddoc"><p>0 arg: ptrace attach rejected. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ab75b40709d0351b9612b69c7663d1af4"></a>PIN_ERR_ATTACH_PTRACE_SCOPE_1&#160;</td><td class="fielddoc"><p>1 arg: pid, ptrace attach rejected due to sysctl kernel.yama.ptrace_scope. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a9edc8f11e078b58222de1d244f688e91"></a>PIN_ERR_DETACH_PID&#160;</td><td class="fielddoc"><p>2 arg: pid, errno. detach failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a5ce293f912d0a0eda6ae7b2a7f953b61"></a>PIN_ERR_WAIT_PID&#160;</td><td class="fielddoc"><p>2 arg: pid, errno. wait for child failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a91aff46b1629b329f0b1f9e4aa689a57"></a>PIN_ERR_STEP_PID&#160;</td><td class="fielddoc"><p>2 arg: pid, errno. single step failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a9fab7dc21e403a57c9997df99e821b7e"></a>PIN_ERR_WAIT_EXECV&#160;</td><td class="fielddoc"><p>1 arg: errno. wait after execv failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9aa8698cd0773309ddac50d3921b9f18df"></a>PIN_ERR_APP_RESUME&#160;</td><td class="fielddoc"><p>1 arg: errno. resuming application failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a55674b832d172a6a8bc10b49cbe3d8be"></a>PIN_ERR_NO_INSTRUMENT&#160;</td><td class="fielddoc"><p>2 args: file name, errno. could not instrument process. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a45967f15d3f5919a4b2f497b313cc562"></a>PIN_ERR_CHILD_PTRACEME&#160;</td><td class="fielddoc"><p>1 arg: errno. parent cannot trace the child. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ae748d8c383349278a02edb6d3a68dfc1"></a>PIN_ERR_CHILD_RESUME&#160;</td><td class="fielddoc"><p>1 arg: errno. resuming child failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ad0c8f9cee6534da5ac96662547cc43a5"></a>PIN_ERR_RELINK_APP&#160;</td><td class="fielddoc"><p>0 args: application address overlaps with pin, relink. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ac46a5e724123ff99f19c3e1a581fc41e"></a>PIN_ERR_KNOB_BAD&#160;</td><td class="fielddoc"><p>1 arg: knob. unknown "knob" on command line. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a21da2aed13d9167142bdf21c56b4e99a"></a>PIN_ERR_NO_RELOCS&#160;</td><td class="fielddoc"><p>0 args. regular relocations not found, relink with -q. <br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a6acecc9e658a0e4d5c0d26dc556c2e88"></a>PIN_ERR_VERSION_SKEW&#160;</td><td class="fielddoc"><p>0 args. pintool version does not match pin version. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a4c5af8376d0eb40f64db4ab9f463b435"></a>PIN_ERR_MS_DOS&#160;</td><td class="fielddoc"><p>0 args. ms-dos &amp; win16 application are not supported. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ac793921c2029fa5d2437878be3894228"></a>PIN_ERR_LONG_PATH&#160;</td><td class="fielddoc"><p>0 args. fully qualified pathname of pin executable is too long. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a0ae80730059694b1cc007a510800de97"></a>PIN_ERR_CANNOT_EXECUTE_FILE&#160;</td><td class="fielddoc"><p>1 arg: filename. cannot execute application. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a994641a9abb61417ad5a730ee618e68f"></a>PIN_ERR_BLOCKSIG_TOOL&#160;</td><td class="fielddoc"><p>1 arg: signal number. Tool intercepted signal and forwarded while application had it blocked. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ab78980c79b13566746eabd360151baf1"></a>PIN_ERR_BLOCKSIG_APP&#160;</td><td class="fielddoc"><p>1 arg: signal number. Application received asynchronous blocked signal, which can't be emulated. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a3779de30efc0bee87af0cc890d20b6cc"></a>PIN_ERR_USER_SPECIFIED_ERROR&#160;</td><td class="fielddoc"><p>reserved. internal use only </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a74b6a9f15ca21ea3c84af2351835070f"></a>PIN_ERR_OUT_OF_MEMORY&#160;</td><td class="fielddoc"><p>0 args. Pin is out of memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ad3e380a7571184491635179c23b7f18d"></a>PIN_ERR_NON_NUMERIC_STRING&#160;</td><td class="fielddoc"><p>1 arg: string. Non-numeric string passed to conversion utility. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ae6fc3ab3e413a42513102c7fb4576d2d"></a>PIN_ERR_EMPTY_STRING&#160;</td><td class="fielddoc"><p>0 args. Empty string passed to conversion utility. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9abc6df52a43b9ee09f291553f97a4c251"></a>PIN_ERR_NUMERIC_FROM_STRING&#160;</td><td class="fielddoc"><p>1 arg: string. Error in numeric to string conversion utility. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a4266359bfd512877e1e75c3700c938d7"></a>PIN_ERR_ALREADY_ATTACHED&#160;</td><td class="fielddoc"><p>0 args. Pin is already attached to the process. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a8ebce9e36630cad63bd6f2e2cd745e0e"></a>PIN_ERR_ILLEGAL_EXCEPTION&#160;</td><td class="fielddoc"><p>1 arg: string. Tool raised invalid exception. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a138c502e9a3dc3f0ba50d6af0640f776"></a>PIN_ERR_EXCEPTION_NEEDS_ADDR&#160;</td><td class="fielddoc"><p>1 arg: string. Must specify access address for exception. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9aae0e29610a94cea1c002e0de8cfdb347"></a>PIN_ERR_PREDEFINED_INSTRUMENTATION_FAILED&#160;</td><td class="fielddoc"><p>1 arg: string. Specified function can not be instrumented </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a61004f9bbe8b2d4bd311d9191999265e"></a>PIN_ERR_UNSUPPORTED_SYSCALL&#160;</td><td class="fielddoc"><p>1 arg: string. System call is not supported by Pin </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a6b25fe1319bc6896443240c694d3142a"></a>PIN_ERR_ACCESS_DENIED&#160;</td><td class="fielddoc"><p>0 args. File access denied due to bad permissions </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a36f3267067ed9c2f8731c573acb1e760"></a>PIN_ERR_INVALID_SUSPEND_REQUEST&#160;</td><td class="fielddoc"><p>0 args. Attempting to suspend an internal thread </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9acc9d693926bba8acb4a03336284176b3"></a>PIN_ERR_DEBUGGER&#160;</td><td class="fielddoc"><p>0 args. Error related to debugger </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga736b7ac932c906914c9710bfa5ca98f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga736b7ac932c906914c9710bfa5ca98f2">&#9670;&nbsp;</a></span>PIN_WriteErrorMessage()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">VOID PIN_WriteErrorMessage </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">INT32&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ERROR__FILE.html#gaa5229e893bc3646b53b8547328305441">PIN_ERR_SEVERITY_TYPE</a>&#160;</td>
          <td class="paramname"><em>severity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">INT32&#160;</td>
          <td class="paramname"><em>num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Writes the given error message to the Pin error file. The error file name is specified using the -error_file switch.</p>
<p>This API allows tool writer to write a tool-specified error message to the Pin error file. Pin reserves the error type enums from 0-999. Pin will exit after printing a fatal message.<br  />
This function can be used in any thread, including any internal thread spawned by the tool.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">msg</td><td>a description of the error </td></tr>
    <tr><td class="paramname">type</td><td>an enum associated with the error. type &gt;= 1000. </td></tr>
    <tr><td class="paramname">severity</td><td>0=fatal, 1=non-fatal. </td></tr>
    <tr><td class="paramname">num</td><td>number of arguments following this parameter </td></tr>
    <tr><td class="paramname">...</td><td>arguments. must be of type "char *".</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT, Probe<br  />
<b>O/S</b>: Linux, Windows<br  />
<b>CPU:</b> All.<br  />
</dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
